package com.itkjb.leisurely.resource.sys.service;

import com.itkjb.leisurely.core.base.IBaseService;
import com.itkjb.leisurely.core.model.SearchModel;
import com.itkjb.leisurely.resource.sys.model.SysDictModel;
import com.itkjb.leisurely.resource.sys.model.vo.SysDictVO;

import java.util.List;

/**
 * <p>
 * 系统字典表 服务类
 * </p>
 *
 * @author leisure_gen
 * @since 2020-06-12
 */
public interface ISysDictService extends IBaseService<SysDictModel> {
    /**
     * 校验保存或跟新的label 标签是否已存在
     * @param label 标签
     * @param id  更新检查时传入id，信息时可传入null
     * @return true 存在  false 不粗在
     */
    boolean labelIsExist(String label, String id);
    /**
     * 校验保存或更新时字典详情的key 索引是否已存在
     * @param label
     * @param key
     * @param id
     * @return
     */
    boolean keyIsExist(String label, String key, String id);

    /**
     *  根据新的label 更新字典详情中的label
     * @param oldDictLabel 原始的label
     * @param newDictLabel 新的label
     * @return
     */
    int updateByLabel(String oldDictLabel, String newDictLabel);

    /**
     * 根据传入的dictLabel 查找相应的字典详情
     * @param searchModel
     * @return
     */
    List<SysDictVO> getDictDetail(SearchModel<SysDictModel> searchModel);
}
